package com.share.payment.service;

import com.share.payment.domain.CreateWxPaymentForm;
import com.share.payment.domain.WxPrepayVo;
import com.wechat.pay.java.service.payments.model.Transaction;
import jakarta.servlet.http.HttpServletRequest;

/**
 * @author YC
 */
public interface IWxPayService {

    /**
     * 微信支付下单
     *
     * @param createWxPaymentForm 微信支付表单
     * @return 微信预支付信息
     */
    WxPrepayVo createWxPayment(CreateWxPaymentForm createWxPaymentForm);

    /**
     * 微信支付回调
     * @param request 请求
     */
    void wxnotify(HttpServletRequest request);

    /**
     * 根据订单编号调用微信服务接口，查询微信支付相关状态信息
     * @param orderNo 订单编号
     * @return 微信支付信息
     */
    Transaction queryPayStatus(String orderNo);

}
